package com.estore.service;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
public class hfg {
    public static AtomicInteger money = new AtomicInteger();  // 存款总额（原子类）

    public static void main(String[] args) throws Exception {
        int[] data = new int[]{100, 200, 300};  // 待存款金额
        for (int x = 0; x < data.length; x++) {  // 循环创建子线程
            final int temp = x;  // 内部类访问外部变量需为final
            new Thread(() -> {
                try {
                    // 模拟存款延迟（100毫秒）
                    TimeUnit.MILLISECONDS.sleep(100);
                } catch (InterruptedException e) {
                    // 捕获中断异常（可忽略或处理）
                }
                // 原子性累加：将data[temp]加到money中
                money.addAndGet(data[temp]);
            }).start();  // 启动线程
        }
        // 等待所有子线程执行完成
        TimeUnit.SECONDS.sleep(1);
        // 输出最终存款总额
        System.out.println("【计算完成】最终存款总额：" + money);
    }
}
